﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BL = class_BL;
using EN = class_Entidad;

namespace webbootstrap.Pagina.Mantenimiento
{
    public partial class frmPrec_Prov_Prod : System.Web.UI.Page
    {
        #region "Metodo"
        public void cargarLstaProducto(int PARAM1, string PARAM2)
        {
            //string strDescr = txtNOMBRE_COMER.Text;
            List<EN.PRODUCTO_EN> lista = new List<EN.PRODUCTO_EN>();
            EN.PRODUCTO_EN objItem = new EN.PRODUCTO_EN();
            objItem.ID_TPROD = PARAM1;
            objItem.NOM_PROD = PARAM2;
            //objItem.ID_TIPO_PROD = Convert.ToInt32(ddlTipoProducto.SelectedValue);
            lista = BL.PRODUCTO_BL.listaProductoBuscar(objItem);
            gvProducto.DataSource = lista;
            gvProducto.DataBind();
        }
        public string ListaProvvedor = "";
        public void cargarLstaProveedor(string PARAM1, string PARAM2)
        {
            string strDescr = txtNOMBRE_COMER.Text;
            List<EN.PROVEEDOR_EN> lista = new List<EN.PROVEEDOR_EN >();
            EN.PROVEEDOR_EN objItem = new EN.PROVEEDOR_EN();
            objItem.RUC_PROV= PARAM1;
            objItem.NOMBRE_COMER  = PARAM2;
            //objItem.ID_TIPO_PROD = Convert.ToInt32(ddlTipoProducto.SelectedValue);
            lista = BL.PROVEEDOR_BL.ListaProveedorBuscar(objItem);
            gvProveedor.DataSource = lista;
            gvProveedor.DataBind();
        }

        public void cargaProductoEdit()
        {

            //List<EN.Proveedor_EN> lista = new List<EN.Proveedor_EN>();
            //EN.Proveedor_EN objItem = new EN.Proveedor_EN();
            //objItem.ID_PROVEEDOR = 0;
            //objItem.NOMBRE_COMERCIAL = "";
            ////ddlGrupoE.Items.Add(new ListItem("--Seleccionar--", "-2"));
            //lista = BL.Proveedor_BL.ListaGrupo(objItem);

            //foreach (var item in lista)
            //{
            //    ddlGrupoE.Items.Add(new ListProveedor(Convert.ToString(item.DESC_ITEMS), Convert.ToString(item.ID_ITEMS)));
            //}
        }
        public void cargaPrecProvProd(int PARAM1, int PARAM2)
        {
            List<EN.PREC_PROV_PROD_NOMBRE_EN> lista = new List<EN.PREC_PROV_PROD_NOMBRE_EN>();
            EN.PARAM_PREC_PROV_PROD_EN objItem = new EN.PARAM_PREC_PROV_PROD_EN();
            objItem.vConsulta = 3;
            objItem.vID_PRECIO=0;
            objItem.vID_PROVEEDOR = 1083; // PARAM1;
            objItem.vID_PRODUCTO = 2; // PARAM2;
            objItem.vEST_PRE = 1;
            objItem.vCOD_UBIGEO = "0000000";
            objItem.vID_TPROD = 0;
            lista = BL.PREC_PROV_PROD_BL.listaPrecioProducto_PPP_Nombre(objItem);
            gvPrecio.DataSource = lista;
            gvPrecio.DataBind();
        }
        #endregion

        #region "Evento"
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
               // cargaListaGrupo();
                //cargarLstaProducto();
                cargarTipoProd();
                cargaPrecProvProd(0, 0);
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            //cargarLstaProducto();
        }

        protected void btnGrabar_Click(object sender, EventArgs e)
        {
            int valor = 0;
            EN.PREC_PROV_PROD_EN objItem = new EN.PREC_PROV_PROD_EN();
            try
            {
                    //objItem.ID_PADRE = Convert.ToDecimal(ddlGrupoE.SelectedValue);
                    //objItem.ID_ITEMS = Convert.ToDecimal(hdItemsReg.Value);
                objItem.ID_PROVEEDOR  = Convert.ToDecimal(hdId_Proveedor.Value);
                objItem.ID_PRODUCTO = Convert.ToDecimal(hdId_Producto.Value);
                objItem.PRECIO_SIGV = Convert.ToDecimal(txtPRECIO_SIGV.Text);
                objItem.PRECIO_CIGV = Convert.ToDecimal(txtPRECIO_CIGV.Text);
                objItem.FEC_REG = Convert.ToDateTime(txtFEC_REG.Text);
                objItem.FEC_ACT = Convert.ToDateTime(txtFEC_ACT.Text);
                objItem.EST_PRE = Convert.ToDecimal(ddlEstado.SelectedItem);
                
                    valor = BL.PREC_PROV_PROD_BL.RegistroPREC_PROV_PROD(objItem);
               
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "mensaje", "MensajeAccion('1','');", true);
            }
            catch (Exception ex)
            {

                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Error", "alert('Se presento un error, volver a intentarlo.');", true);
            }
        }

        public void cargarTipoProd()
        {
            List<EN.ITEMS_EN> lista = new List<EN.ITEMS_EN>();
            EN.ITEMS_EN objItem = new EN.ITEMS_EN();
            objItem.ID_ITEMS = 0;
            objItem.ID_PADRE = 1;
            objItem.DESC_ITEMS = "";

            try
            {
                lista = BL.ITEMS_BL.ListaITEMSGrupo(objItem);
                foreach (var item in lista)
                {
                    ddlTipoProd.Items.Add(new ListItem(Convert.ToString(item.DESC_ITEMS), Convert.ToString(item.ID_ITEMS)));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        protected void btnNuevo_Click(object sender, EventArgs e)
        {
            //foreach (ListItem item in rbtTipo.Items)
            //{
            //    item.Selected = false;
            //}

            //txtRUC.Visible = false;
            //ddlTipoEmpresaE.Visible = false;
            //txtRAZON_SOC.Visible = false;

            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Popup", "MostrarPopUp();", true);
        }
        protected void btnBuscaProveedor_Click(object sender, EventArgs e)
        {
            //foreach (ListItem item in rbtTipo.Items)
            //{
            //    item.Selected = false;
            //}

            //txtRUC.Visible = false;
            //ddlTipoEmpresaE.Visible = false;
            //txtRAZON_SOC.Visible = false;
            string ruc = txtRUC.Text;
            string proveedor = txtProveedor.Text;
            //txtRAZON_SOC.Visible = false;
           

            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Popup", "MostrarRegProvee();", true);
        }
        protected void btnBuscaProveedor2_Click(object sender, EventArgs e)
        {
            //foreach (ListItem item in rbtTipo.Items)
            //{
            //    item.Selected = false;
            //}
             
            string ruc = txtRUC.Text;
            string proveedor = txtNombreProveedor.Text;
            //txtRAZON_SOC.Visible = false;
            cargarLstaProveedor(ruc, proveedor);

           // ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Popup", "MostrarPopUp();", true);
        }
        protected void btnBuscaProducto_Click(object sender, EventArgs e)
        {
            //foreach (ListItem item in rbtTipo.Items)
            //{
            //    item.Selected = false;
            //}

            //string producto = txtProducto.Text;
            //ddlTipoEmpresaE.Visible = false;


            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Popup", "MostrarRegProduc();", true);
        }
        protected void btnBuscaProducto2_Click(object sender, EventArgs e)
        {
            //foreach (ListItem item in rbtTipo.Items)
            //{
            //    item.Selected = false;
            //}
            int Id_TProd = ddlTipoProd.SelectedIndex;
            string producto = txtProducto.Text;
            //ddlTipoEmpresaE.Visible = false;
            cargarLstaProducto(Id_TProd, producto);

        }
        //protected void btnEditar_Click(object sender, EventArgs e)
        //{
        //    //txtID_PROVEEDOR.Visible = true;
        //    //cargaProductoEdit();
        //    //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Popup", "EditarRegistro();", true);
        //}
        protected void gvProveedor_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {

        }
        protected void gvProveedor_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvProveedor.EditIndex = -1;
            gvProveedor.PageIndex = e.NewPageIndex;
            //fillgrilla();
        }

        protected void gvProveedor_SelectedIndexChanged(object sender, EventArgs e)
        {
            hdId_Proveedor.Value= gvProveedor.SelectedRow.Cells[0].Text;
            txtNOMBRE_COMER.Text = gvProveedor.SelectedRow.Cells[3].Text;
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Popup", "CerrarRegProvee();", true);
            
        }
        protected void gvProveedor_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                string ProveedorId = DataBinder.Eval(e.Row.DataItem, "ID_PROVEEDOR").ToString();
                //string Location = ResolveUrl("~/Details.aspx") + "?ProductId=" + ProductId;
                //e.Row.Attributes["onClick"] = string.Format("javascript:window.location='{0}';", Location);
                //e.Row.Style["cursor"] = "pointer";
            }
        }
        protected void gvProducto_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvProducto.EditIndex = -1;
            gvProducto.PageIndex = e.NewPageIndex;
            //fillgrilla();
        }
        protected void gvProducto_SelectedIndexChanged(object sender, EventArgs e)
        {
            hdId_Producto.Value = gvProducto.SelectedRow.Cells[0].Text;
            txtNOM_PROD.Text = gvProducto.SelectedRow.Cells[1].Text;
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Popup", "CerrarRegProduc();", true);

        }
        protected void gvProducto_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                string ProductoId = DataBinder.Eval(e.Row.DataItem, "ID_PRODUCTO").ToString();
                //string Location = ResolveUrl("~/Details.aspx") + "?ProductId=" + ProductId;
                //e.Row.Attributes["onClick"] = string.Format("javascript:window.location='{0}';", Location);
                //e.Row.Style["cursor"] = "pointer";
            }
        }
        #endregion
    }
}